
#pragma once

#include <QtCore/QObject>
#include <QtGui/QPainter>
#include <QtGui/QColor>

class QPainter;
class QFont;
class YunXiuIconFont : public QObject
{
    Q_OBJECT
public:
    enum IconIndex
    {
        kIconEmpty = 0,
//        kIconTriggerClear = 0xe6d6,     //清空
//        kIconSettingGeneral = 0xe60b,   //设置--常规
//        kIconPublish = 0xe66a,

        //****************************** 以下为云修图标 ***********************
        mIconCalendar = 0xe69e, // 日历
        mIconAlignBothEnds = 0xe69f, // 两端对齐
        mIconArrange = 0xe6a0, // 整理
        mIconAngle = 0xe6a1, // 角度
        mIconAlbumDesign = 0xe6a2, // 相册设计
        mIconAddPicture = 0xe6a3, // 添加图片
        mIconAdjustSolid = 0xe6a4, // 调节的
        mIconDunhao = 0xe68f, // 顿号
        mIconCleanUp = 0xe690, // 清除
        mIconCropping = 0xe691, // 裁剪
        mIconChoiceUnselected = 0xe692, // 未选
        mIconChoiceSelected = 0xe693, // 选中
        mIconCopy = 0xe694, // 复制
        mIconCloseTriangle = 0xe695, // 闭合选择
        mIconBackground = 0xe61a, // 背景
        mIconContrastSolid= 0xe696, // 对比的
        mIconCancelSolid= 0xe697, // 取消的
        mIconCheckMark= 0xe698, // 对勾
        mIconCancelHollow= 0xe699, // 取消
        mIconAmplify= 0xe619, // 放大
        mIconBold= 0xe69a, // 加粗
        mIconCenterAligned= 0xe69b, // 居中对齐
        mIconBack= 0xe69c, // 返回
        mIconAdjust= 0xe69d, // 调节
        mIconDaub= 0xe686, // 涂抹
        mIconExpand= 0xe687, // 展开
        mIconDisplay= 0xe688, // 显示
        mIconDeleteCross= 0xe689, // 删除
        mIconCrowd= 0xe68a, // 人群
        mIconDunhaoSolid= 0xe68b, // 顿号填充
        mIconDiamond= 0xe68c, // 钻石
        mIconDelete= 0xe68d, // 删除的
        mIconContrast= 0xe61c, // 对比
        mIconClose= 0xe61b, // 闭合
        mIconCloth= 0xe68e, // 服饰
        mIconErase= 0xe61d, // 擦除
        mIconFilter= 0xe681, // 滤镜
        mIconEdit= 0xe682, // 编辑
        mIconExport= 0xe683, // 导出
        mIconExportList= 0xe684, // 导出列表
        mIconFeedBack= 0xe685, // 意见反馈
        mIconLaunch= 0xe66f, // 展开
        mIconHide= 0xe670, // 隐藏
        mIconItalic= 0xe671, // 斜体
        mIconIncrease= 0xe672, // 添加
        mIconImport= 0xe673, // 导入
        mIconImageEditing= 0xe674, // 图片编辑
        mIconImage= 0xe675, // 图片的
        mIconHand= 0xe676, // 手
        mIconHistory= 0xe677, // 历史记录
        mIconHandSolid= 0xe678, // 手掌
        mIconGesture= 0xe61f, // 手势
        mIconGiftSolid= 0xe679, // 礼物
        mIconHome= 0xe67a, // 首页
        mIconFolder= 0xe67b, // 文件夹
        mIconFilm= 0xe67c, // 影片
        mIconFolderSolid= 0xe67d, // 文件夹填充
        mIconGarbageBin= 0xe67e, // 垃圾箱
        mIconExpression= 0xe67f, // 表情
        mIconFunnel= 0xe680, // 漏斗
        mIconNextStep= 0xe662, // 下一步
        mIconIdPhoto= 0xe622, // 证件照
        mIconMove= 0xe663, // 移动
        mIconLockingSolid= 0xe623, // 锁定中
        mIconMinus= 0xe664, // 减号
        mIconMoreV1= 0xe665, // 更多
        mIconMask= 0xe666, // 面具
        mIconFacialDetection= 0xe620, // 人脸检测
        mIconIntelligentPPresets= 0xe667, // 智能预设
        mIconManage= 0xe668, // 管理
        mIconLeftJustifying= 0xe669, // 左对齐
        mIconLineSpace= 0xe66a, // 行间距
        mIconLocking= 0xe66b, // 锁定
        mIconExportGraph= 0xe61e, // 导出图
        mIconLiquefying= 0xe66c, // 液化
        mIconLoading= 0xe66d, // 加载
        mIconHelp= 0xe621, // 帮助
        mIconIntelligentAdjustment= 0xe66e, // 智能调整
        mIconPortraitBeautyV1= 0xe651, // 人像美容新
        mIconProfilePictureV1= 0xe652, // 头像
        mIconPlus= 0xe626, // 加号
        mIconPortraitBeautyV2= 0xe653, // 人像美容
        mIconProfilePictureV2= 0xe654, // 头像的
        mIconPortraitBeautyV3= 0xe655, // 人像美容大的
        mIconNoContent= 0xe656, // 无内容
        mIconPictureEdit= 0xe657, // 图片编辑
        mIconPlaceOnTop= 0xe658, // 置于顶层
        mIconPictureSolid= 0xe659, // 图片填充
        mIconPlay= 0xe65a, // 播放
        mIconMoveUp= 0xe625, // 上移
        mIconPicture= 0xe65b, // 图片
        mIconOverturn= 0xe65c, // 翻转
        mIconMember= 0xe624, // 会员
        mIconPencil= 0xe65d, // 铅笔
        mIconMerge= 0xe65e, // 合并
        mIconNoSky= 0xe65f, // 天空无图
        mIconManageList= 0xe660, // 管理列表
        mIconMoreV2= 0xe661, // 更多的
        mIconSetUp= 0xe642, // 设置
        mIconStar= 0xe643, // 星星
        mIconSearch= 0xe644, // 搜索
        mIconSelectV1= 0xe645, // 选中对勾
        mIconSelectV2= 0xe646, // 选中全
        mIconSelectV3= 0xe647, // 选中的
        mIconRotate= 0xe648, // 旋转
        mIconRightAlignment= 0xe649, // 右对齐
        mIconQuestionMark= 0xe628, // 问号
        mIconRemarks= 0xe64a, // 备注
        mIconRegionalProtection= 0xe64b, // 区域保护
        mIconResetting= 0xe64c, // 重置
        mIconPreset= 0xe627, // 预设
        mIconRedo= 0xe64d, // 重做
        mIconRadioUnselected= 0xe64e, // 未选
        mIconProportion= 0xe64f, // 比例
        mIconRadioSelect= 0xe650, // 选中
        mIconUnderline= 0xe632, // 下划线
        mIconVerticalText= 0xe62d, // 竖版文字
        mIconWithdraw= 0xe633, // 撤回
        mIconWechat= 0xe634, // 微信
        mIconView= 0xe635, // 视图
        mIconWinClose= 0xe636, // 关闭
        mIconTemplate= 0xe62c, // 模版
        mIconUnlockV1= 0xe637, // 解锁
        mIconUnlockV2= 0xe638, // 解锁的
        mIconUp= 0xe639, // 向上
        mIconStrikethrough= 0xe62b, // 删除线
        mIconTriangle= 0xe63a, // 三角
        mIconText= 0xe63b, // 字体
        mIconTopping= 0xe63c, // 置顶
        mIconSubtraction= 0xe63d, // 减去
        mIconSuspendV1= 0xe63e, // 暂停的
        mIconSuspendV2= 0xe63f, // 暂停
        mIconSendToBack= 0xe640, // 置于底层
        mIconSourceMaterial= 0xe641, // 素材
        mIconWinMaximize= 0xe62f, // 最大化
        mIconSelectV4= 0xe629, // 选中
        mIconWordSpace= 0xe630, // 字间距
        mIconScale= 0xe62a, // 缩放
        mIconWinReduction= 0xe62e, // 还原
        mIconWinMinimize= 0xe631, // 最小化
        mIconColorTransfer = 0xe675, // 色彩迁移
        mIconCurveColorPick = 0xe6a9, // 取色调整
        mIconFlipVertical = 0xe6ac, // 垂直翻转
        mIconFlipHorizontal = 0xe6ad, // 水平翻转
        mIconRightRotation = 0xe6ab, // 右旋转
        mIconLeftRotation = 0xe6aa, // 左旋转
        mIconCropping2 = 0xe6af, // 裁剪
        mIconExchange = 0xe6ae, // 高宽对调
    };

public:
    static YunXiuIconFont* instance();
    QChar sample();

    QString fontFamily() const;
	void paintIconFont(QPainter * painter,const QRect &rt,int fontSize,const QColor &color,IconIndex index);
    //生成图片
    QPixmap renderToPixmap(YunXiuIconFont::IconIndex index, QSize size, int fontPixel = 14, const QColor& foregroundClr = QColor("white"));

private:
    YunXiuIconFont(QObject *parent = Q_NULLPTR);
    ~YunXiuIconFont();

	QString m_strFontFamily;
	QFont * m_pFont;
};

#define theIconFont YunXiuIconFont::instance()
